﻿namespace CodeSHARPer.ViewModel
{
    using CodeSHARPer.ViewModel.Base;
    using System;

    public class PaneViewModel : ViewModelBase
    {
        public PaneViewModel()
        { }

        #region Title

        private string _title = null;
        public virtual string Title
        {
            get { return _title; }
            set
            {
                if (_title != value)
                {
                    _title = value;
                    NotifyPropertyChanged(ObservableHelper.CreateArgs<PaneViewModel>(x => x.Title));
                }
            }
        }

        #endregion

        public virtual Uri IconSource { get; protected set; }

        #region ContentId

        private string _contentId = null;
        public string ContentId
        {
            get { return _contentId; }
            set
            {
                if (_contentId != value)
                {
                    _contentId = value;
                    NotifyPropertyChanged(ObservableHelper.CreateArgs<PaneViewModel>(x => x.ContentId));
                }
            }
        }
        #endregion

        #region IsSelected

        private bool _isSelected = false;
        public bool IsSelected
        {
            get { return _isSelected; }
            set
            {
                if (_isSelected != value)
                {
                    _isSelected = value;
                    NotifyPropertyChanged(ObservableHelper.CreateArgs<PaneViewModel>(x => x.IsSelected));
                }
            }
        }

        #endregion

        #region IsActive

        private bool _isActive = false;
        public bool IsActive
        {
            get { return _isActive; }
            set
            {
                if (_isActive != value)
                {
                    _isActive = value;
                    NotifyPropertyChanged(ObservableHelper.CreateArgs<PaneViewModel>(x => x.IsActive));
                }
            }
        }

        #endregion
    }
}
